#pragma once

// Poker Event ID
enum {
    PEI_BASE                = 0,
    PEI_UPDATE_MODEL,
    PEI_UPDATE_UI,
    PEI_UPDATE_HOTKEY_UI,
};

// Timer
enum {
    ID_TIMER_BASE                    = 100,
    ID_TIMER_RETRIEVE_WINDOW_INFO,
    ID_TIMER_POKE_WINDOW,
    ID_TIMER_AUTO_REFRESH,
};

// Hotkey
enum {
    ID_HOTKEY_BASE                    = 0,
    ID_HOTKEY_SELECT_WINDOW,
    ID_HOTKEY_USE_PREV_CONFIG,
    ID_HOTKEY_USE_NEXT_CONFIG,
    ID_HOTKEY_GOTO_PARENT_WINDOW,
    ID_HOTKEY_GOTO_OWNER_WINDOW,
    ID_HOTKEY_GOTO_FOCUS_WINDOW,
    ID_HOTKEY_GOTO_ACTIVE_WINDOW,
    ID_HOTKEY_GOTO_CAPTURE_WINDOW,
    ID_HOTKEY_SEND_WM_MOUSELEAVE,
};

// Const
#define POKE_AUTO_ACCEPT_INTERVAL       500 // ms
#define POKE_AUTO_REFRESH_INTERVAL      300

// Poke atom name
#define PAN_DLG_INPUT                   _T("atom_dlg_input")
#define PAN_DLG_MAIN                    _T("atom_dlg_main")
#define PAN_DLG_KEY_CTRL                _T("atom_dlg_key_ctrl")
#define PAN_DLG_MOUSE_CTRL              _T("atom_dlg_mouse_ctrl")
#define PAN_DLG_WINDOW_INFO             _T("atom_dlg_windows_info")
#define PAN_DLG_WINDOW_BASIC_INFO       _T("atom_dlg_windows_basic_info")
#define PAN_DLG_WINDOW_PROP             _T("atom_dlg_window_prop")
#define PAN_DLG_PROC_INFO               _T("atom_dlg_proc_info")
#define PAN_DLG_HOTKEY                  _T("atom_dlg_hotkey")
#define PAN_DLG_DWM_INFO                _T("atom_dlg_dwm_info")
